docker

您所在的位置:网站首页 ubuntu启动docker web服务后访问不到 docker

docker

2023-10-11 05:16| 来源: 网络整理| 查看: 265

运行一个web应用 docker pull training/webapp docker run -d -P training/webapp python app.py

-d是后台运行容器并打印容器ID -P是将容器内部使用的网络端口随机映射到主机端口 -p则是要带参数的,指定端口的映射方法。下面是可以带的几种参数:

端口到端口:比如32769:5000就是容器的5000端口映射到主机的32769端口。网址到端口:比如127.0.0.1:5001:5000,这样就可以通过访问127.0.0.1:5001访问容器的5000端口了绑定UDP端口:比如127.0.0.1:5000:5000/udp

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入: docker attach 容器ID/Names docker exec 容器ID/Names 推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。

查看当前运行的容器

Container ID和Names指的是同一个东西,所以每次指定容器时,二者任选一即可。 在这里插入图片描述 Docker开放了端口5000(默认的Python Flask端口),映射到主机端口32768上。那么打开http://0.0.0.0:32768可以看到一行Hello world!

关闭某个容器

用names也可以

docker stop 45f65defa26b 指定端口映射

比如让容器的5000端口映射到主机的32769

pxy@pxy-pc:~$ docker run -d -p 32769:5000 training/webapp python app.py 06e16346ffc8755625ae4c285a51376100853de014671a5272692900111031a7 pxy@pxy-pc:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 06e16346ffc8 training/webapp "python app.py" 4 seconds ago Up 3 seconds 0.0.0.0:32769->5000/tcp mystifying_mcclintock

此时需要访问http://0.0.0.0:32769/ 在这里插入图片描述

查看容器的端口映射情况

如果带了端口号,也可以只看某一个端口的映射情况。比如最后一个就是容器内部的5000端口映射到主机的127.0.0.1:5000。

pxy@pxy-pc:~$ docker port 06e16346ffc8 5000/tcp -> 0.0.0.0:32769 pxy@pxy-pc:~$ docker port mystifying_mcclintock 5000/tcp -> 0.0.0.0:32769 pxy@pxy-pc:~/Desktop$ docker port funny_williams 5000 127.0.0.1:5000 查看日志 pxy@pxy-pc:~$ docker logs -f mystifying_mcclintock * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) 172.17.0.1 - - [14/Dec/2020 08:53:25] "GET / HTTP/1.1" 200 - ^C

-f 是让docker logs像使用tail -f 文件名一样输出容器内部的标准输出(即:会把文件最尾部的内容显示在屏幕上,并且不断刷新。只要该文件还在刷新就一直可以看到最新内容)。

查看容器内部运行的进程 pxy@pxy-pc:~$ docker top mystifying_mcclintock UID PID PPID C STIME TTY TIME CMD root 5329 5307 0 16:52 ? 00:00:00 python app.py 导出容器的配置和状态信息 docker inspect mystifying_mcclintock > info.txt

实际上info.txt是一个json文件。

导出容器

如果要导出本地某个容器,可以使用 docker export 命令。

$ docker export 1e560fca3906 > ubuntu.tar 导入容器快照

可以使用 docker import 从容器快照文件中再导入为镜像,以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:

$ cat docker/ubuntu.tar | docker import - test/ubuntu:v1

此外,也可以通过指定 URL 或者某个目录来导入,例如:

$ docker import http://example.com/exampleimage.tgz example/imagerepo 删除容器 $ docker rm -f 1e560fca3906

下面的命令可以清理掉所有处于终止状态的容器。

$ docker container prune 查询最近一次创建的容器 docker ps -l 查看所有容器 docker ps -a

这里包括exited的容器。

重启容器 docker start mystifying_mcclintock

正在运行的容器可以用restart重启。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3